package br.com.jk.cotacao.itens;

import br.com.jk.cotacao.*;
import br.com.jk.util.DAOException;
import br.com.jk.util.pesquisa.Pesquisa.Opcao;
import java.util.List;

/**
 *
 * @author camilo
 */
public interface CotacaoItensDao {

  public static final String NAME_TABLE = "cotacao_itens";
  public static final String NAME_SCHEMA="cotacao";
  public static final String NAME_COLUMN_STATUS = "status";
  public static final String NAME_COLUMN_ID_COTACAO = "id_cotacao";
  public static final String NAME_COLUMN_PRODUTO_VINCULADO = "id_produto_vinculado";
  public static final String NAME_COLUMN_QUANTIDADE = "quantidade";
  public static final String NAME_COLUMN_DATA_CADASTRO = "data_cadastro";
  public static final String NAME_COLUMN_ID_PRODUTO = "id_produto";
  public static final String NAME_COLUMN_VALOR_COTADO = "valor_cotado";
  public static final String NAME_COLUMN_IS_VINCULADO = "is_vinculado";
  public static final String NAME_COLUMN_FATOR = "fator";
  public static final String NAME_COLUMN_DATA_ALTERACAO = "data_alteracao";
  public static final String NAME_COLUMN_COD_NA_COTACAO = "cod_na_cotacao";
  public static final String NAME_COLUMN_SEQUENCIAL = "sequencial";
  public static final String NAME_FK_COTACAOITENS_COTACAO = "fk_cotacaoitens_cotacao";
  public static final String NAME_FK_COTACAOITENS_PRODUTO = "fk_cotacaoitens_produto";
  public static final String NAME_FK_COTACAOITENS_PRODUTO_VINC = "fk_cotacaoitens_produtovinc";
  public static final String NAME_UK_PRODUTO_COTACAO = "uk_produto_cotacao";
  public static final String NAME_SEQUENCE = "cotacao.seq_cotacao_itens";

  public void salvar(CotacaoItens cotacao) throws DAOException;

  public void excluir(CotacaoItens cotacao) throws DAOException;

  public CotacaoItens carregar(int id);

  public List<CotacaoItens> listar(Cotacao cotacao);

  public List<CotacaoItens> pesquisaPadrao(Cotacao cotacao, String property, String criterio, Opcao opcao);

  public List<CotacaoItens> pesquisaPadrao(Cotacao cotacao, String property, int criterio, Opcao opcao);
}
